home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
compile_to_jvm31.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
29KB
|
1,527 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "compile_to_jvm.h"
/*No:EXPORT_LIST.start_position*/
/*No:EXPORT_LIST.items*/
T0* r322clients_for(T322* C,T0* a1){
T0* R=NULL;
T0* _ei=NULL;
T2 _i=0;
_i=((T323*)((C)->_items/*4*/))->_upper/*8*/;
while (!((_i)==(0))) {
_ei=r323item((T323*)((C)->_items/*4*/),_i);
/*[IF*/
if(r321affect(((T321*)_ei),a1)){
/*[IF*/
if((R)==((void*)(NULL))){
R=(((T321*)_ei))->_clients/*0*/;
}
else{
R=r103merge_with(((T103*)R),(((T321*)_ei))->_clients/*0*/);
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}
void r322make(T322* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_items=a2;
}
T2 r379static_value(T379* C){
T2 R=0;
R=X109static_value((C)->_expression/*4*/);
return R;
}
T6 r379is_static(T379* C){
T6 R=0;
R=X109is_static((C)->_expression/*4*/);
return R;
}
T6 r379can_be_dropped(T379* C){
T6 R=0;
R=X109can_be_dropped((C)->_expression/*4*/);
return R;
}
/*No:IMPLICIT_CAST.is_manifest_string*/
T0* r379start_position(T379* C){
T0* R=NULL;
R=X109start_position((C)->_expression/*4*/);
return R;
}
T0* r379add_comment(T379* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CAST.expression*/
void r379compile_target_to_jvm(T379* C){
T2 _space=0;
X109compile_target_to_jvm((C)->_expression/*4*/);
_space=X52jvm_convert_to(X109result_type((C)->_expression/*4*/),(C)->_result_type/*8*/);
}
T2 r379to_integer(T379* C){
T2 R=0;
r379error(r379start_position(C),((T0*)ms13_45846));
return R;
}
T6 r379use_current(T379* C){
T6 R=0;
R=X109use_current((C)->_expression/*4*/);
return R;
}
T2 r379jvm_branch_if_true(T379* C){
T2 R=0;
R=X109jvm_branch_if_true((C)->_expression/*4*/);
return R;
}
T0* r379to_runnable(T379* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
_e=X109to_runnable((C)->_expression/*4*/,a1);
/*[IF*/
if(((C)->_expression/*4*/)==((void*)(_e))){
R=(T0*)C;
}
else{
{T379*n=malloc(sizeof(*n));
*n=M379;
r379make(n,_e,(C)->_result_type/*8*/);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r379compile_to_jvm_into(T379* C,T0* a1){
T2 R=0;
R=X109compile_to_jvm_into((C)->_expression/*4*/,a1);
return R;
}
T2 r379isa_dca_inline_argument(T379* C){
T2 R=0;
R=X109isa_dca_inline_argument((C)->_expression/*4*/);
return R;
}
T6 r379is_pre_computable(T379* C){
T6 R=0;
R=X109is_pre_computable((C)->_expression/*4*/);
return R;
}
/*No:IMPLICIT_CAST.fz_iinaiv*/
/*No:IMPLICIT_CAST.result_type*/
void r379error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r379make(T379* C,T0* a1,T0* a2){
C->_expression=a1;
C->_result_type=a2;
}
void r379compile_to_jvm_assignment(T379* C,T0* a1){
X109compile_to_jvm_assignment((C)->_expression/*4*/,a1);
}
T6 r379is_current(T379* C){
T6 R=0;
R=X109is_current((C)->_expression/*4*/);
return R;
}
/*No:IMPLICIT_CAST.is_void*/
void r379compile_to_jvm_old(T379* C){
X109compile_to_jvm_old((C)->_expression/*4*/);
}
void r379jvm_assign(T379* C){
X109jvm_assign((C)->_expression/*4*/);
}
T2 r379jvm_branch_if_false(T379* C){
T2 R=0;
R=X109jvm_branch_if_false((C)->_expression/*4*/);
return R;
}
void r379compile_to_jvm(T379* C){
T2 _space=0;
X109compile_to_jvm((C)->_expression/*4*/);
_space=X52jvm_convert_to(X109result_type((C)->_expression/*4*/),(C)->_result_type/*8*/);
}
void r379afd_check(T379* C){
X109afd_check((C)->_expression/*4*/);
}
T6 r379is_result(T379* C){
T6 R=0;
R=X109is_result((C)->_expression/*4*/);
return R;
}
/*No:CALL_INFIX_GT.static_value*/
/*No:CALL_INFIX_GT.feature_name*/
T6 r127is_static(T127* C){
T6 R=0;
/*[IF*/
if(X52is_integer(X109result_type((C)->_target/*4*/))){
/*[IF*/
if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
/*[IF*/
if((X109static_value((C)->_target/*4*/))>(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
C->_static_value_mem=1;
}
else{
C->_static_value_mem=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.is_manifest_string*/
T0* r127start_position(T127* C){
T0* R=NULL;
R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r127add_comment(T127* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r127to_integer(T127* C){
T2 R=0;
r127error(r127start_position(C),((T0*)ms13_45846));
return R;
}
T6 r127use_current(T127* C){
T6 R=0;
/*[IF*/
{/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X109is_current((C)->_target/*4*/)){
R=X27use_current((C)->_run_feature/*16*/);
}
else{
R=X109use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T2 r127jvm_branch_if_true(T127* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r127result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmpgt((T28*)(oBC12code_attribute));
}
else{
R=r127jvm_standard_branch_if_true(C);
}
/*FI]*/
return R;
}
T0* r127to_runnable(T127* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r127runnable_expression((C)->_target/*4*/,a1);
_a=r127runnable_args((C)->_arguments/*8*/,a1);
_tt=X109result_type(_t);
_at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r127run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r127run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T127*n=malloc(sizeof(*n));
*n=M127;
r127with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r127compile_to_jvm_into(T127* C,T0* a1){
T2 R=0;
R=r127standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_GT.is_pre_computable*/
/*No:CALL_INFIX_GT.fz_bad_argument*/
/*No:CALL_INFIX_GT.fz_iinaiv*/
T0* r127result_type(T127* C){
T0* R=NULL;
T0* _tla=NULL;
R=X27result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X52is_like_current(R)){
R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 262:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.static_value_mem*/
/*No:CALL_INFIX_GT.run_feature*/
T0* r127runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r152to_runnable(((T152*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(r152start_position(((T152*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r127standard_compile_target_to_jvm(T127* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r127result_type(C));
}
/*No:CALL_INFIX_GT.compile_to_jvm_assignment*/
/*No:CALL_INFIX_GT.fz_07*/
void r127compile_to_jvm_old(T127* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_GT.jvm_assign*/
T2 r127jvm_branch_if_false(T127* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r127result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmple((T28*)(oBC12code_attribute));
}
else{
R=r127jvm_standard_branch_if_false(C);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.compile_to_jvm*/
/*No:CALL_INFIX_GT.arg_count*/
void r127with(T127* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r127run_feature_match(C,a5);
}
/*No:CALL_INFIX_GT.call_proc_call_c2jvm*/
/*No:CALL_INFIX_GT.is_result*/
/*No:CALL_INFIX_GT.fatal_error*/
void r127run_feature_match(T127* C,T0* a1){
r127run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_GT.arguments*/
T0* r127runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X109to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X109start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.can_be_dropped*/
/*No:CALL_INFIX_GT.us_gt*/
/*No:CALL_INFIX_GT.implicit_cast*/
/*No:CALL_INFIX_GT.compile_target_to_jvm*/
/*No:CALL_INFIX_GT.isa_dca_inline_argument*/
/*No:CALL_INFIX_GT.arg1*/
void r127run_feature_has_result(T127* C){
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T2 r127jvm_standard_branch_if_false(T127* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}
T0* r127run_feature_for(T127* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type(a1));
R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_GT.target*/
void r127error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r127make(T127* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r127operator(),a2);
C->_feature_name=(T0*)n;
}
{T152*n=malloc(sizeof(*n));
*n=M152;
/*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_GT.is_current*/
T2 r127standard_compile_to_jvm_into(T127* C,T0* a1){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=X52jvm_convert_to(X52run_type(r127result_type(C)),a1);
return R;
}
/*No:CALL_INFIX_GT.is_void*/
T0* r127operator(void){
T0* R=NULL;
R=((T0*)ms14_63);
return R;
}
T2 r127jvm_standard_branch_if_true(T127* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T127* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}
void r127afd_check(T127* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type((C)->_target/*4*/));
_running=(((T23*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X109start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r23set_at_run_time(((T23*)_rc));
}
else if((r340count(((T340*)_running)))>(1)){
r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X109afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_LT.static_value*/
/*No:CALL_INFIX_LT.feature_name*/
T6 r129is_static(T129* C){
T6 R=0;
/*[IF*/
if(X52is_integer(X109result_type((C)->_target/*4*/))){
/*[IF*/
if((X109is_static((C)->_target/*4*/))&&(X109is_static(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
R=1;
/*[IF*/
if((X109static_value((C)->_target/*4*/))<(X109static_value(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
C->_static_value_mem=1;
}
else{
C->_static_value_mem=0;
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.is_manifest_string*/
T0* r129start_position(T129* C){
T0* R=NULL;
R=((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r129add_comment(T129* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r73count(((T73*)((((T85*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T234*n=malloc(sizeof(*n));
*n=M234;
r234make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r129to_integer(T129* C){
T2 R=0;
r129error(r129start_position(C),((T0*)ms13_45846));
return R;
}
T6 r129use_current(T129* C){
T6 R=0;
/*[IF*/
{/*AT*/R=r152use_current((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X109is_current((C)->_target/*4*/)){
R=X27use_current((C)->_run_feature/*16*/);
}
else{
R=X109use_current((C)->_target/*4*/);
}
/*FI]*/
return R;
}
T2 r129jvm_branch_if_true(T129* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r129result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmplt((T28*)(oBC12code_attribute));
}
else{
R=r129jvm_standard_branch_if_true(C);
}
/*FI]*/
return R;
}
T0* r129to_runnable(T129* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r129runnable_expression((C)->_target/*4*/,a1);
_a=r129runnable_args((C)->_arguments/*8*/,a1);
_tt=X109result_type(_t);
_at=X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r129run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r129run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T129*n=malloc(sizeof(*n));
*n=M129;
r129with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r129compile_to_jvm_into(T129* C,T0* a1){
T2 R=0;
R=r129standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:CALL_INFIX_LT.is_pre_computable*/
/*No:CALL_INFIX_LT.fz_bad_argument*/
/*No:CALL_INFIX_LT.fz_iinaiv*/
T0* r129result_type(T129* C){
T0* R=NULL;
T0* _tla=NULL;
R=X27result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X52is_like_current(R)){
R=/*X27current_type*/((T0*)((T26*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 262:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X109result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.static_value_mem*/
/*No:CALL_INFIX_LT.run_feature*/
T0* r129runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r152to_runnable(((T152*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(r152start_position(((T152*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms13_13065);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r129standard_compile_target_to_jvm(T129* C){
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
X52jvm_check_class_invariant(r129result_type(C));
}
/*No:CALL_INFIX_LT.compile_to_jvm_assignment*/
/*No:CALL_INFIX_LT.fz_07*/
void r129compile_to_jvm_old(T129* C){
X109compile_to_jvm_old((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152compile_to_jvm_old((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:CALL_INFIX_LT.jvm_assign*/
T2 r129jvm_branch_if_false(T129* C){
T2 R=0;
/*[IF*/
if(X52is_integer(r129result_type(C))){
X109compile_to_jvm((C)->_target/*4*/);
X109compile_to_jvm(/*(IRF4.6arg1*//*(IRF4.3first*/(((T152*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
R=r28opcode_if_icmpge((T28*)(oBC12code_attribute));
}
else{
R=r129jvm_standard_branch_if_false(C);
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.compile_to_jvm*/
/*No:CALL_INFIX_LT.arg_count*/
void r129with(T129* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r129run_feature_match(C,a5);
}
/*No:CALL_INFIX_LT.call_proc_call_c2jvm*/
/*No:CALL_INFIX_LT.is_result*/
/*No:CALL_INFIX_LT.fatal_error*/
void r129run_feature_match(T129* C,T0* a1){
r129run_feature_has_result(C);
r152match_with((T152*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_LT.arguments*/
T0* r129runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X109to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r21add_position(X109start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms121_16515);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.can_be_dropped*/
/*No:CALL_INFIX_LT.implicit_cast*/
/*No:CALL_INFIX_LT.compile_target_to_jvm*/
/*No:CALL_INFIX_LT.isa_dca_inline_argument*/
/*No:CALL_INFIX_LT.us_lt*/
/*No:CALL_INFIX_LT.arg1*/
void r129run_feature_has_result(T129* C){
/*[IF*/
if((X27result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r21add_position(X27start_position((C)->_run_feature/*16*/));
r21add_position(((T141*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms120_53650);
r21fatal_error((T21*)(oBC12eh),b1);
}/*]*/
}
/*FI]*/
}
T2 r129jvm_standard_branch_if_false(T129* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifeq((T28*)(oBC12code_attribute));
return R;
}
T0* r129run_feature_for(T129* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type(a1));
R=r23get_rf(((T23*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_LT.target*/
void r129error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
void r129make(T129* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T141*n=malloc(sizeof(*n));
*n=M141;
r141make(n,r129operator(),a2);
C->_feature_name=(T0*)n;
}
{T152*n=malloc(sizeof(*n));
*n=M152;
/*[IRF3.3make_1*/((((T152*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_LT.is_current*/
T2 r129standard_compile_to_jvm_into(T129* C,T0* a1){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=X52jvm_convert_to(X52run_type(r129result_type(C)),a1);
return R;
}
/*No:CALL_INFIX_LT.is_void*/
T0* r129operator(void){
T0* R=NULL;
R=((T0*)ms14_61);
return R;
}
T2 r129jvm_standard_branch_if_true(T129* C){
T2 R=0;
/*[IRF3.4compile_to_jvm*//*[IRF3.6call_proc_call_c2jvm*/{T129* C1=C;
r24call_proc_call_mapping((T24*)(oBC12jvm),(T0*)C1);
}/*]*/
/*]*/
R=r28opcode_ifne((T28*)(oBC12code_attribute));
return R;
}
void r129afd_check(T129* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X52run_class(X109result_type((C)->_target/*4*/));
_running=(((T23*)_rc))->_running/*12*/;
/*[IF*/
if((_running)==((void*)(NULL))){
r21add_position(X109start_position((C)->_target/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms121_181815);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((((T23*)_rc))->_current_type/*0*/);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms13_20094);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21print_as_warning((T21*)(oBC12eh));
r23set_at_run_time(((T23*)_rc));
}
else if((r340count(((T340*)_running)))>(1)){
r335update((C)->_target/*4*/,(C)->_run_feature/*16*/);
}
/*FI]*/
X109afd_check((C)->_target/*4*/);
/*[IF*/
{/*AT*/r152afd_check((T152*)((C)->_arguments/*8*/));
}
/*FI]*/
}
/*No:LOOP_INVARIANT.nb_errors*/
/*No:LOOP_INVARIANT.start_position*/
T0* r247twin(T247* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T247*)R)=*C;
return R;
}
T0* r247runnable(T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
T2 _i=0;
/*[IF*/
if(!(r108empty(((T108*)a1)))){
R=r108twin(((T108*)a1));
_i=(((T108*)R))->_upper/*8*/;
while (!((_i)==(0))) {
r22push((T22*)(oBC12small_eiffel),a3);
_a=r105to_runnable((T105*)(r108item(((T108*)R),_i)),a2);
/*[IF*/
if((_a)==((void*)(NULL))){
r247error(r105start_position((T105*)(r108item(((T108*)R),_i))),((T0*)ms13_14266));
}
else{
/*[IRF3.6put*/{T108* C1=((T108*)R);
T0* b1=_a;
T2 b2=_i;
((C1)->_storage/*0*/)[(b2)-((C1)->_lower/*12*/)]=(b1);
}/*]*/
}
/*FI]*/
r22pop((T22*)(oBC12small_eiffel));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
T6 r247use_current(T247* C){
T6 R=0;
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r105use_current((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
return R;
}
/*No:LOOP_INVARIANT.header_comment*/
T0* r247to_runnable(T247* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_current_type/*12*/)==((void*)(NULL))){
C->_current_type=a1;
C->_run_feature=r22top_rf((T22*)(oBC12small_eiffel));
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
C->_list=r247runnable((C)->_list/*8*/,a1,(C)->_run_feature/*16*/);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T21*)(oBC12eh))->_nb_errors/*4*//*)*/)==(0)){
R=(T0*)C;
}
/*FI]*/
}
else{
R=r247twin(C);
/*[IRF3.3set_current_type*/((((T247*)(((T247*)R))))->_current_type)=(NULL);
/*]*/
R=r247to_runnable(((T247*)R),a1);
}
/*FI]*/
return R;
}
/*No:LOOP_INVARIANT.set_current_type*/
/*No:LOOP_INVARIANT.fz_bad_assertion*/
/*No:LOOP_INVARIANT.current_type*/
void r247error(T0* a1,T0* a2){
r21add_position(a1);
r21error((T21*)(oBC12eh),a2);
}
/*No:LOOP_INVARIANT.run_feature*/
void r247make(T247* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
void r247compile_to_jvm(T247* C,T6 a1){
T0* _ca=NULL;
T2 _i=0;
T2 _point_true=0;
_ca=oBC12code_attribute;
r28check_opening(((T28*)_ca));
/*[IRF3.3clear*/((((T48*)((T48*)(oBC107failure))))->_upper)=(-(1));
/*]*/
_i=1;
while (!((_i)>(((T108*)((C)->_list/*8*/))->_upper/*8*/))) {
r105compile_to_jvm((T105*)(r108item((T108*)((C)->_list/*8*/),_i)),a1);
r48add_last((T48*)(oBC107failure),r28opcode_ifeq(((T28*)_ca)));
_i=(_i)+(1);
}
/*[IRF3.4opcode_iconst_1*/r28opcode(((T28*)_ca),4,1);
/*]*/
_point_true=r28opcode_goto(((T28*)_ca));
r28resolve_with(oBC107failure);
/*[IRF3.4opcode_iconst_0*/r28opcode(((T28*)_ca),3,1);
/*]*/
r28resolve_u2_branch(_point_true);
r28check_closing(((T28*)_ca));
}
void r247afd_check(T247* C){
T2 _i=0;
/*[IF*/
if(((C)->_list/*8*/)!=((void*)(NULL))){
_i=((T108*)((C)->_list/*8*/))->_upper/*8*/;
while (!((_i)==(0))) {
r105afd_check((T105*)(r108item((T108*)((C)->_list/*8*/),_i)));
_i=(_i)-(1);
}
}
/*FI]*/
}
/*No:LOOP_INVARIANT.list*/
/*No:TYPE_LIKE_CURRENT.start_position*/
void r261jvm_initialize_local(T261* C,T2 a1){
X52jvm_initialize_local((C)->_run_type/*8*/,a1);
}
void r261used_as_reference(T261* C){
X52used_as_reference((C)->_run_type/*8*/);
}
T6 r261is_user_expanded(T261* C){
T6 R=0;
R=X52is_user_expanded((C)->_run_type/*8*/);
return R;
}
T2 r261id(T261* C){
T2 R=0;
R=((T23*)(r261run_class(C)))->_id/*4*/;
return R;
}
void r261jvm_check_class_invariant(T261* C){
X52jvm_check_class_invariant((C)->_run_type/*8*/);
}
T6 r261is_pointer(T261* C){
T6 R=0;
R=X52is_pointer((C)->_run_type/*8*/);
return R;
}
T0* r261to_runnable(T261* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((C)->_run_type/*8*/)==((void*)(NULL))){
C->_run_type=a1;
R=(T0*)C;
}
else if(((C)->_run_type/*8*/)==((void*)(a1))){
R=(T0*)C;
}
else{
{T261*n=malloc(sizeof(*n));
*n=M261;
r261with(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T0* r261run_class(T261* C){
T0* R=NULL;
R=r22run_class((C)->_run_type/*8*/);
return R;
}
/*No:TYPE_LIKE_CURRENT.is_like_current*/
T6 r261is_bit(T261* C){
T6 R=0;
R=X52is_bit((C)->_run_type/*8*/);
return R;
}
T0* r261smallest_ancestor(T261* C,T0* a1){
T0* R=NULL;
R=X52smallest_ancestor((C)->_run_type/*8*/,a1);
return R;
}
void r261jvm_write_local(T261* C,T2 a1){
X52jvm_write_local((C)->_run_type/*8*/,a1);
}
T0* r261run_time_mark(T261* C){
T0* R=NULL;
/*[IF*/
if(((C)->_run_type/*8*/)!=((void*)(NULL))){
R=X52run_time_mark((C)->_run_type/*8*/);
}
/*FI]*/
return R;
}
T6 r261is_expanded(T261* C){
T6 R=0;
R=X52is_expanded((C)->_run_type/*8*/);
return R;
}
T2 r261jvm_if_x_eq(T261* C){
T2 R=0;
R=X52jvm_if_x_eq((C)->_run_type/*8*/);
return R;
}
void r261jvm_xnewarray(T261* C){
X52jvm_xnewarray((C)->_run_type/*8*/);
}
void r261jvm_push_local(T261* C,T2 a1){
X52jvm_push_local((C)->_run_type/*8*/,a1);
}
/*No:TYPE_LIKE_CURRENT.fz_dot*/
/*No:TYPE_LIKE_CURRENT.is_like_feature*/
T6 r261is_a(T261* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_like_current(a1)){
R=1;
}
else{
R=X52is_a((C)->_run_type/*8*/,a1);
}
/*FI]*/
return R;
}
T0* r261written_mark(void){
T0* R=NULL;
R=((T0*)ms14_22320);
return R;
}
T6 r261is_character(T261* C){
T6 R=0;
R=X52is_character((C)->_run_type/*8*/);
return R;
}
/*No:TYPE_LIKE_CURRENT.make*/
T2 r261jvm_convert_to(T261* C,T0* a1){
T2 R=0;
R=X52jvm_convert_to((C)->_run_type/*8*/,X52run_type(a1));
return R;
}
void r261fatal_error_generic_list(T261* C){
r21add_type((T0*)C,((T0*)ms52_29184));
r21print_as_fatal_error((T21*)(oBC12eh));
}
T6 r261is_array(T261* C){
T6 R=0;
R=X52is_array((C)->_run_type/*8*/);
return R;
}
T2 r261jvm_push_default(T261* C){
T2 R=0;
R=X52jvm_push_default((C)->_run_type/*8*/);
return R;
}
T6 r261is_dummy_expanded(T261* C){
T6 R=0;
R=X52is_dummy_expanded((C)->_run_type/*8*/);
return R;
}
T0* r261generic_list(T261* C){
T0* R=NULL;
/*[IF*/
if(r261is_generic(C)){
R=X52generic_list((C)->_run_type/*8*/);
}
else{
r261fatal_error_generic_list(C);
}
/*FI]*/
return R;
}
T0* r261base_class(T261* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r261base_class_name(C);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r70base_class(((T70*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_37098);
r7append((T7*)(oBC21explanation),b1);
}/*]*/
r21add_type((T0*)C,((T0*)ms13_47));
r21print_as_fatal_error((T21*)(oBC12eh));
}
/*FI]*/
return R;
}
T2 r261jvm_if_x_ne(T261* C){
T2 R=0;
R=X52jvm_if_x_ne((C)->_run_type/*8*/);
return R;
}
T0* r261base_class_name(T261* C){
T0* R=NULL;
R=X52base_class_name((C)->_run_type/*8*/);
return R;
}
/*No:TYPE_LIKE_CURRENT.is_formal_generic*/
void r261jvm_standard_is_equal(T261* C){
X52jvm_standard_is_equal((C)->_run_type/*8*/);
}
T6 r261is_a_in(T261* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r261written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(((T23*)a2))->_current_type/*0*/;
_t1=r261to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r261look_up_for(T261* C,T0* a1,T0* a2){
T0* R=NULL;
R=r63look_up_for((T63*)(r261base_class(C)),a1,a2);
return R;
}
/*No:TYPE_LIKE_CURRENT.run_type*/
/*No:TYPE_LIKE_CURRENT.us_like_current*/
T0* r261expanded_initializer(T261* C){
T0* R=NULL;
R=X52expanded_initializer((C)->_run_type/*8*/);
return R;
}
T6 r261has_creation(T261* C,T0* a1){
T6 R=0;
R=X52has_creation((C)->_run_type/*8*/,a1);
return R;
}
T2 r261jvm_method_flags(T261* C){
T2 R=0;
R=X52jvm_method_flags((C)->_run_type/*8*/);
return R;
}
T6 r261is_boolean(T261* C){
T6 R=0;
R=X52is_boolean((C)->_run_type/*8*/);
return R;
}
T6 r261is_generic(T261* C){
T6 R=0;
R=X52is_generic((C)->_run_type/*8*/);
return R;
}
void r261jvm_xaload(T261* C){
X52jvm_xaload((C)->_run_type/*8*/);
}
T6 r261is_real(T261* C){
T6 R=0;
R=X52is_real((C)->_run_type/*8*/);
return R;
}
void r261with(T261* C,T0* a1,T0* a2){
C->_start_position=(((T261*)a1))->_start_position/*4*/;
C->_run_type=a2;
}
T6 r261is_any(T261* C){
T6 R=0;
R=X52is_any((C)->_run_type/*8*/);
return R;
}
T6 r261is_basic_eiffel_expanded(T261* C){
T6 R=0;
R=X52is_basic_eiffel_expanded((C)->_run_type/*8*/);
return R;
}
void r261jvm_descriptor_in(T261* C,T0* a1){
X52jvm_descriptor_in((C)->_run_type/*8*/,a1);
}
T6 r261is_string(T261* C){
T6 R=0;
R=X52is_string((C)->_run_type/*8*/);
return R;
}
T6 r261is_native_array(T261* C){
T6 R=0;
T0* _tna=NULL;
_tna=(T0*)C;
if(NULL!=(_tna))switch(((T0*)_tna)->id) {
case 267:
break;
default:
_tna=NULL;
};R=(_tna)!=((void*)(NULL));
return R;
}
T6 r261is_integer(T261* C){
T6 R=0;
R=X52is_integer((C)->_run_type/*8*/);
return R;
}
/*No:TYPE_LIKE_CURRENT.is_anchored*/
/*No:TYPE_LIKE_CURRENT.is_run_type*/
T6 r261is_reference(T261* C){
T6 R=0;
R=X52is_reference((C)->_run_type/*8*/);
return R;
}
T6 r261is_none(T261* C){
T6 R=0;
R=X52is_none((C)->_run_type/*8*/);
return R;
}